POSIX セマフォ
POSIX semaphore
code:c
sem_t *sem_open(const char *name, int oflag, ...);
int sem_close(sem_t *sem);
int sem_init(sem_t *sem, int pshared, unsigned value);
int sem_unlink(const char *name);
int sem_destroy(sem_t *sem);
int sem_trywait(sem_t *sem);
int sem_wait(sem_t *sem);
int sem_clockwait(sem_t *restrict sem, clockid_t clock_id,
const struct timespec *restrict abstime);
int sem_timedwait(sem_t *restrict sem,
const struct timespec *restrict abstime);
int sem_post(sem_t *sem);
POSIX セマフォは、単純な1単位ずつのロックのみを取り扱う。
セマフォの数を sem_init で設定する。
wait でロック(-1)して post でアンロック(+1)する。
関連